# -*- coding: UTF-8 -*-
'''
@Project ：push_rk
@File ：compute.py
@IDE ：PyCharm
@Author ：苦瓜
@Date ：2025/10/13 8:36
@Note: Something beautiful is about to happen !
'''

# 【最大池化计算】
# 对以下4×4特征图执行2×2最大池化（步长2）：
# TEXT
# ┌────┬────┬────┬────┐
# │ 15 │  8 │ 12 │  6 │
# ├────┼────┼────┼────┤
# │  9 │ 17 │  4 │ 11 │
# ├────┼────┼────┼────┤
# │  7 │ 14 │ 10 │  3 │
# ├────┼────┼────┼────┤
# │ 13 │  5 │ 16 │  2 │
# └────┴────┴────┴────┘
# 问题要求：写出池化后的2×2矩阵。
print(f"""
    === 【最大池化计算】 ===
    将2，2的池化映入，在区域内选取最大值
    左上：{max(15, 8, 9, 17)}
    右上：{max(12, 6, 4, 11)}
    左下：{max(7, 14, 13, 5)}
    右下：{max(10, 3, 16, 2)}
""")

# ________________________________________


# 2. 【特征图尺寸计算】
# 输入尺寸：640×640
# 卷积核：5×5
# 步长：3
# 填充方式：valid
# 问题要求：计算输出特征图的尺寸。
print(f"""
    === 【特征图尺寸计算】 ===
    特征图计算公式：（原图尺寸 - 卷积核 + 2 * padding）//步长 + 1
    计算结果：{(640 - 5 + 2 * 0) // 3 + 1}
""")

# ________________________________________
# 3. 【MSE损失计算】
# 某预测模型的5个样本预测值与真实值如下：
# TEXT
# 预测值：[14.2, 25.5, 18.9, 32.4, 21.7]  真实值：[13.0, 26.0, 20.0, 30.0, 22.0]
# 问题要求：计算MSE。
print(f"""
    === 【MSE损失计算】 ===
    预测值：[14.2, 25.5, 18.9, 32.4, 21.7]
    真实值：[13.0, 26.0, 20.0, 30.0, 22.0]
    对位相减的平方相加再除以他们的元素数量
    MSE计算结果：{( (14.2-13.0)**2 + (25.5-26.0)**2 + (18.9-20.0)**2 + (32.4-30.0)**2 + (21.7-22.0)**2 )/5}
""")
